package com.yiyahui.project.erp.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yiyahui.framework.aspectj.lang.annotation.Excel;
import com.yiyahui.framework.web.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

/**
 * 主单结账记录流水对象 yiya_main_closing_entries
 * 
 * @author yiyahui
 * @date 2020-07-01
 */

@ApiModel(value="主单结账记录流水对象")
public class YiyaMainClosingEntries extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 主单id */
    @ApiModelProperty(value="主单id")
    @Excel(name = "主单id")
    private Long billingMainId;

    /** 患者id */
    @ApiModelProperty(value="患者id")
    @Excel(name = "患者id")
    private Long clinicPersonId;

    /** 单据号 */
    @ApiModelProperty(value="单据号")
    @Excel(name = "单据号")
    private String documentNum;

    /** 开单人 */
    @ApiModelProperty(value="开单人")
    @Excel(name = "开单人")
    private String billingPerson;

    /** 收费人 */
    @ApiModelProperty(value="收费人")
    @Excel(name = "收费人")
    private String charge;

    /** 开单类型 1 项目开单 2 还欠款 3 退款 */
    @ApiModelProperty(value="开单类型 1 项目开单 2 还欠款 3 退款")
    @Excel(name = "开单类型 1 项目开单 2 还欠款 3 退款")
    private Integer type;

    /** 账单状态 1 已开单 2 待审核 3 已结账 */
    @ApiModelProperty(value="账单状态 1 已开单 2 待审核 3 已结账")
    @Excel(name = "账单状态 1 已开单 2 待审核 3 已结账")
    private Integer billStatus;

    /** 本次缴费 */
    @ApiModelProperty(value="本次缴费")
    @Excel(name = "本次缴费")
    private BigDecimal thisPay;

    /** 欠费变动 */
    @ApiModelProperty(value="欠费变动")
    @Excel(name = "欠费变动")
    private BigDecimal arrearageChange;

    /** 用户欠费 */
    @ApiModelProperty(value="用户欠费")
    @Excel(name = "用户欠费")
    private BigDecimal personArrearage;

    /** 开单备注 */
    @ApiModelProperty(value="开单备注")
    @Excel(name = "开单备注")
    private String billingRemarks;

    /** 结账备注 */
    @ApiModelProperty(value="结账备注")
    @Excel(name = "结账备注")
    private String closingRemarks;

    /** 备注 */
    @ApiModelProperty(value="备注")
    @Excel(name = "备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBillingMainId(Long billingMainId) 
    {
        this.billingMainId = billingMainId;
    }

    public Long getBillingMainId() 
    {
        return billingMainId;
    }
    public void setClinicPersonId(Long clinicPersonId) 
    {
        this.clinicPersonId = clinicPersonId;
    }

    public Long getClinicPersonId() 
    {
        return clinicPersonId;
    }
    public void setDocumentNum(String documentNum) 
    {
        this.documentNum = documentNum;
    }

    public String getDocumentNum() 
    {
        return documentNum;
    }
    public void setBillingPerson(String billingPerson) 
    {
        this.billingPerson = billingPerson;
    }

    public String getBillingPerson() 
    {
        return billingPerson;
    }
    public void setCharge(String charge) 
    {
        this.charge = charge;
    }

    public String getCharge() 
    {
        return charge;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setBillStatus(Integer billStatus) 
    {
        this.billStatus = billStatus;
    }

    public Integer getBillStatus() 
    {
        return billStatus;
    }
    public void setThisPay(BigDecimal thisPay)
    {
        this.thisPay = thisPay;
    }

    public BigDecimal getThisPay()
    {
        return thisPay;
    }
    public void setArrearageChange(BigDecimal arrearageChange)
    {
        this.arrearageChange = arrearageChange;
    }

    public BigDecimal getArrearageChange()
    {
        return arrearageChange;
    }
    public void setPersonArrearage(BigDecimal personArrearage)
    {
        this.personArrearage = personArrearage;
    }

    public BigDecimal getPersonArrearage()
    {
        return personArrearage;
    }
    public void setBillingRemarks(String billingRemarks) 
    {
        this.billingRemarks = billingRemarks;
    }

    public String getBillingRemarks() 
    {
        return billingRemarks;
    }
    public void setClosingRemarks(String closingRemarks) 
    {
        this.closingRemarks = closingRemarks;
    }

    public String getClosingRemarks() 
    {
        return closingRemarks;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("billingMainId", getBillingMainId())
            .append("clinicPersonId", getClinicPersonId())
            .append("documentNum", getDocumentNum())
            .append("billingPerson", getBillingPerson())
            .append("charge", getCharge())
            .append("type", getType())
            .append("billStatus", getBillStatus())
            .append("thisPay", getThisPay())
            .append("arrearageChange", getArrearageChange())
            .append("personArrearage", getPersonArrearage())
            .append("billingRemarks", getBillingRemarks())
            .append("closingRemarks", getClosingRemarks())
            .append("remarks", getRemarks())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
